package org.linloong.modules.apis.monitor.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@TableName("t_spectrum_data")
@Schema(name = "SpectrumData", description = "光谱物候数据实体（对应文档\"光谱物候接口\"章节Response）")
public class SpectrumData {
    @TableId(type = IdType.ASSIGN_UUID)
    @Schema(description = "自定义主键（UUID）", example = "123e4567-e89b-12d3-a456-426614174005")
    private String id;

    @Schema(description = "文档中返回的\"id\"字段（无实际意义，备用）", example = "1004")
    private String apiId;

    @Schema(description = "设备ID（仅光谱设备）", example = "ZW101569")
    private String deviceId;

    @Schema(description = "数据时间戳（文档中\"timestamp\"字段，Unix毫秒级）", example = "1592271960000")
    private Long timestamp;

    @Schema(description = "可见光图片路径（文档中\"originalImagePath\"字段）", example = "https://oss.example.com/vis/4.jpg")
    private String originalImagePath;

    @Schema(description = "非可见光图片路径（文档中\"processedImagePath\"字段）", example = "https://oss.example.com/nvis/4.jpg")
    private String processedImagePath;

    @Schema(description = "650波段1数据（文档中\"u650_1\"字段）", example = "0.52")
    private Float u650_1;

    @Schema(description = "810波段1数据（文档中\"u810_1\"字段）", example = "0.68")
    private Float u810_1;

    @Schema(description = "NDVI1（文档中\"ndvI_1\"字段）", example = "0.62")
    private Float ndvi_1;

    @Schema(description = "650波段2数据（文档中\"u650_2\"字段）", example = "0.55")
    private Float u650_2;

    @Schema(description = "810波段2数据（文档中\"u810_2\"字段，修正文档笔误\"8100波段2\"）", example = "0.71")
    private Float u810_2;

    @Schema(description = "NDVI2（文档中\"ndvI_2\"字段）", example = "0.65")
    private Float ndvi_2;

    @Schema(description = "电池电压（文档中\"ele\"字段）", example = "3.7")
    private Float ele;

    @Schema(description = "气压（文档中\"pre\"字段，单位hPa）", example = "1013.2")
    private Float pre;
}